@keyframes ani {
    0% {
        bottom: 0;
        transform: scale(1);
    }
    25% {
        margin-left: -8px;
        transform: scale(1.5);
    }
    50% {
        margin-left: 10px;
        opacity: 1;
        transform: scale(1.5);
    }
    75% {
        margin-left: -10px;
    }
    100% {
        margin-left: 10px;
        bottom: 600px;
        opacity: 0;
    }
}

page {
    background: #f7f7f7;
}

.box {
    position: fixed;
    bottom: 140px;
    right: 50px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .3) url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M903.637 545.877l.555.598L512 938.667 119.808 546.475l.555-.598A277.333 277.333 0 0 1 512 155.307a277.333 277.333 0 0 1 391.637 390.57z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 50%;
    border: .5px solid #fff;

    &.hover-class {
        background-color: rgba(0, 0, 0, .1);
    }

    .list {
        position: absolute;
        top: -100%;
        left: 0;
        width: 90px;
        height: 90px;
    }

    .item {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 90px;
        height: 90px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 35px;
        transition: all .3s;
        animation: ani 2s;
        animation-fill-mode: forwards;
    }
}

